WORST_CASE(?,O(n^2)) Solution: --------- "0" :: [] -(0)-> "A"(1, 0) "0" :: [] -(0)-> "A"(3, 9) "0" :: [] -(0)-> "A"(0, 0) "0" :: [] -(0)-> "A"(11, 0) "0" :: [] -(0)-> "A"(15, 15) "0" :: [] -(0)-> "A"(3, 8) "0" :: [] -(0)-> "A"(10, 8) "0" :: [] -(0)-> "A"(15, 9) "div" :: ["A"(12, 9) x "A"(0, 0)] -(9)-> "A"(3, 9) "div" :: ["A"(8, 0) x "A"(0, 0)] -(0)-> "A"(8, 0) "div_active" :: ["A"(11, 0) x "A"(0, 0)] -(7)-> "A"(2, 0) "false" :: [] -(0)-> "A"(2, 0) "false" :: [] -(0)-> "A"(11, 9) "ge" :: ["A"(9, 0) x "A"(0, 0)] -(0)-> "A"(3, 9) "ge" :: ["A"(1, 0) x "A"(0, 0)] -(0)-> "A"(5, 1) "ge_active" :: ["A"(1, 0) x "A"(0, 0)] -(1)-> "A"(5, 0) "if" :: ["A"(3, 9) x "A"(3, 9) x "A"(3, 9)] -(9)-> "A"(3, 9) "if" :: ["A"(2, 0) x "A"(2, 0) x "A"(2, 0)] -(0)-> "A"(2, 0) "if_active" :: ["A"(2, 0) x "A"(3, 9) x "A"(3, 9)] -(3)-> "A"(2, 0) "mark" :: ["A"(3, 9)] -(2)-> "A"(2, 0) "minus" :: ["A"(9, 0) x "A"(0, 0)] -(0)-> "A"(3, 9) "minus" :: ["A"(9, 0) x "A"(0, 0)] -(0)-> "A"(14, 9) "minus" :: ["A"(1, 0) x "A"(0, 0)] -(0)-> "A"(7, 1) "minus_active" :: ["A"(1, 0) x "A"(0, 0)] -(1)-> "A"(4, 1) "s" :: ["A"(1, 0)] -(1)-> "A"(1, 0) "s" :: ["A"(0, 0)] -(0)-> "A"(0, 0) "s" :: ["A"(3, 9)] -(3)-> "A"(3, 9) "s" :: ["A"(11, 0)] -(11)-> "A"(11, 0) "s" :: ["A"(2, 0)] -(2)-> "A"(2, 0) "true" :: [] -(0)-> "A"(2, 0) "true" :: [] -(0)-> "A"(12, 8) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "A"_cf(0, 0) "0" :: [] -(0)-> "A"_cf(9, 0) "0" :: [] -(0)-> "A"_cf(15, 6) "0" :: [] -(0)-> "A"_cf(13, 0) "0" :: [] -(0)-> "A"_cf(15, 0) "0" :: [] -(0)-> "A"_cf(15, 12) "div" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "div" :: ["A"_cf(9, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 0) "div" :: ["A"_cf(15, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(15, 0) "div_active" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "div_active" :: ["A"_cf(9, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 0) "false" :: [] -(0)-> "A"_cf(0, 0) "false" :: [] -(0)-> "A"_cf(13, 0) "false" :: [] -(0)-> "A"_cf(9, 0) "ge" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "ge" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 0) "ge" :: ["A"_cf(2, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 2) "ge_active" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "ge_active" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 0) "ge_active" :: ["A"_cf(9, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 0) "if" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "if" :: ["A"_cf(9, 0) x "A"_cf(9, 0) x "A"_cf(9, 0)] -(0)-> "A"_cf(9, 0) "if_active" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "if_active" :: ["A"_cf(9, 0) x "A"_cf(9, 0) x "A"_cf(11, 6)] -(0)-> "A"_cf(9, 0) "if_active" :: ["A"_cf(9, 0) x "A"_cf(9, 0) x "A"_cf(9, 0)] -(0)-> "A"_cf(9, 0) "mark" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "mark" :: ["A"_cf(9, 0)] -(0)-> "A"_cf(9, 0) "minus" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "minus" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(9, 0) "minus" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(13, 0) "minus" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(15, 0) "minus_active" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "minus_active" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(12, 0) "s" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "s" :: ["A"_cf(9, 0)] -(9)-> "A"_cf(9, 0) "true" :: [] -(0)-> "A"_cf(0, 0) "true" :: [] -(0)-> "A"_cf(13, 0) "true" :: [] -(0)-> "A"_cf(9, 0) "true" :: [] -(0)-> "A"_cf(13, 14) Base Constructors: ------------------ "\"0\"_A" :: [] -(0)-> "A"(1, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 1) "\"div\"_A" :: ["A"(1, 0) x "A"(0, 0)] -(0)-> "A"(1, 0) "\"div\"_A" :: ["A"(1, 1) x "A"(0, 0)] -(1)-> "A"(0, 1) "\"false\"_A" :: [] -(0)-> "A"(1, 0) "\"false\"_A" :: [] -(0)-> "A"(0, 1) "\"ge\"_A" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(1, 0) "\"ge\"_A" :: ["A"(1, 0) x "A"(0, 0)] -(0)-> "A"(0, 1) "\"if\"_A" :: ["A"(1, 0) x "A"(1, 0) x "A"(1, 0)] -(0)-> "A"(1, 0) "\"if\"_A" :: ["A"(0, 1) x "A"(0, 1) x "A"(0, 1)] -(1)-> "A"(0, 1) "\"minus\"_A" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(1, 0) "\"minus\"_A" :: ["A"(1, 0) x "A"(0, 0)] -(0)-> "A"(0, 1) "\"s\"_A" :: ["A"(1, 0)] -(1)-> "A"(1, 0) "\"s\"_A" :: ["A"(0, 1)] -(0)-> "A"(0, 1) "\"true\"_A" :: [] -(0)-> "A"(1, 0) "\"true\"_A" :: [] -(0)-> "A"(0, 1)